package com.hbusa.dao;

import cn.hutool.db.Entity;
import cn.hutool.db.PageResult;
import com.hbusa.dto.TbChapter;
import com.hbusa.dto.TbNovels;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Map;

/**
 * @author Sandwich
 * @version 1.0
 * @date 2021/12/26-0:18
 */
public interface NovelsDao {


    /**
     * 保存数据(增加)
     * @param novels
     * @return
     */
    boolean save(TbNovels novels);

    /**
     * 修改数据
     * @param novels
     * @return
     */
    boolean modify(TbNovels novels) throws SQLException;

    /**
     * 根据小说id删除小说
     * @param novelId
     * @return
     */
    boolean removeById(int novelId) throws SQLException;

    /**
     * 查询所有
     * @return
     */
    ArrayList<TbNovels> findAll();

    /**
     * 通过模糊查询查找小说
     * @param novelName
     * @return
     */
    ArrayList<TbNovels> findByString(String novelName);

    /**
     * 根据小说id查询
     * @return
     */
    TbNovels findNovelById(int novelId) throws SQLException;

    //通过小说id查询小说

    ArrayList<TbNovels> findByString(String novelName);

    /**
     * 多条件分页查询
     * @param pageindex 当前页
     * @param pagesize  每页显示的条目数
     * @param searchMap 查询的条件
     * @return
     */
    PageResult<Entity> queryByPage(int pageindex, int pagesize, Map<String, Object> searchMap);

    ArrayList<TbChapter> queryChapterByNovelId(Long id);
}
